Allow a domain to specify DOMID_SELF to DOM0_GETDOMAININFO dom0_op.
authorkaf24@firebug.cl.cam.ac.uk <kaf24@firebug.cl.cam.ac.uk>
Sun, 18 Dec 2005 19:27:42 +0000 (20:27 +0100)
committerkaf24@firebug.cl.cam.ac.uk <kaf24@firebug.cl.cam.ac.uk>
Sun, 18 Dec 2005 19:27:42 +0000 (20:27 +0100)
This is primarily useful to allow a privileged domain to determine
its domid, where the preferred method of quering xenstore cannot be
used.

Signed-off-by: joseph.cihula@intel.com
xen/common/dom0_ops.c

index 1505dc782dff7370656970abcb51299e52aaf69f..a4cbc48b4ff8f407e557cb447e0d1dd93c440f83 100644 (file)
@@ -358,12 +358,17 @@ long do_dom0_op(dom0_op_t *u_dom0_op)
     case DOM0_GETDOMAININFO:
     { 
         struct domain *d;
+        domid_t dom;
+
+        dom = op->u.getdomaininfo.domain;
+        if ( dom == DOMID_SELF )
+            dom = current->domain->domain_id;
 
         read_lock(&domlist_lock);
 
         for_each_domain ( d )
         {
-            if ( d->domain_id >= op->u.getdomaininfo.domain )
+            if ( d->domain_id >= dom )
                 break;
         }